//
//  VisitorTableViewController.swift
//  weibo
//
//  Created by tomato on 2021/9/9.
//

import UIKit

class VisitorTableViewController: UITableViewController {

    //用户登录标记
//    private var userLogin = UserAccountViewModel().userLogin
    private var userLogin = true
    //访客视图:如果使用懒加载，访客始终都会被创建出来
    var vistorView : VistorView?
    
    override func loadView() {
        
        //根据用户的登录情况，判断用户是否登录
        userLogin ? super.loadView():setupVistorView()
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
       
    }
    
    //设置访客视图 - 添加一些小函数，只让上面的代码显示逻辑
    private func setupVistorView(){
        
        vistorView = VistorView()
        vistorView?.delegate = self
        view = vistorView
        
        //设置导航栏按钮
        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", style: .plain, target: self, action:#selector(self.visitorViewDidClickRegister))
        
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登录", style: .plain, target: self, action: #selector(self.visitorViewDidClickLogin))
    }
}


// MARK: - 扩展
// 扩展对象实现协议: 可以将一个协议对应的代码写在一起
// 6.控制器遵守VisitorTableViewController协议

extension VisitorTableViewController: VistorViewDelegate {
    
    // MARK: - 代理方法
    // 7.实现协议的方法
    @objc func visitorViewDidClickRegister() {
        
//        print("注册")
        let studyVC = StudyViewController()
        let nav = UINavigationController(rootViewController: studyVC)
        nav.modalPresentationStyle = .fullScreen
        self.present(nav, animated: true, completion: nil)

    }
    
    @objc func visitorViewDidClickLogin() {
        //创建授权控制器
        let oauthVC = OauthViewController()
        //包装导航栏控制器
        let nav = UINavigationController(rootViewController: oauthVC)
        //弹出控制器
        nav.modalPresentationStyle = .fullScreen
        self.present(nav, animated: true, completion: nil)
    }
}
